home *** CD-ROM | disk | FTP | other *** search
- The following procedure can be used to unprotect MULTIPLAN ver 1.0.
- The steps required can be complicated if you are not accustomed to
- using DEBUG, however, if followed exactly an unprotected version can
- be produced. If you prefer the process has been automated as explained
- in Step 7 below.
-
- MULTIPLAN is copy protected in two ways. First, track
- 11 sector 8 has been formatted as track 11 (0B) sector 61 (3D). We
- will trace through the program until this sector is loaded into
- memory then write it back out to disk into a file name HIDDEN.DTA.
- Secondly, one sector of the file MP1 is read into memory using an
- Absoulute Disk Read (DOS interupt 25H) from a specific location.
- Again, we will trace through the program until that point is reached,
- and write the data loaded into memory back out to disk into a file
- name HIDDEN.DT2.
-
- Using DEBUG, we will then create a short program named MPX.COM
- that will take care of loading the above files into memory at
- the proper time. Changes will be made to the Multiplan file MP80.COM
- so it will load MPX.COM and to look for further files on the
- default drive rather than Drive A:. Finally, we will make changes
- to the file MP1 so that control is transfered to MPX.COM when the
- hidden data is to be loaded.
-
- The following instructions assume we are using a dual drive
- PC. If you are using a hard disk, make the appropriate substitutions
- (C: for B:) and skip the first step.
-
- It is also recommended that no resident programs be loaded at
- boot time prior to this procedure (such as Sidekick, etc.). The reason
- being we will use a few memory locations around 64K and do not want to
- overwrite DEBUG or the operating system.
-
- 1. Format a blank disk in drive B: (the \S option for system
- files and single or double sided formating is optional)
-
- 2. Copy DEBUG.COM onto drive B:
-
- 3. Copy MP.UNP onto drive B:
-
- 4. Place your MULTIPLAN Ver 1.0 backup diskette in drive A: with
- the write protect tab in place.
-
- 5. Set the default drive to A:
-
- 6. A> COPY MP80.COM B:
- COPY MP1 B: (When the Abort, Retry, Ignore message
- apprears press I for ignore)
- COPY MP2 B:
- COPY MPMODE.COM B:
- COPY MP.SYS B:
- COPY MP.HLP B: (This file is optional)
-
- 7. Issue the folowing command: A> B:DEBUG < B:MP.UNP
-
- - OR -
-
- You may do the same thing manually by following these
- instructions:
-
- A> B:DEBUG
- -N MP80.COM 'Name of the file we are working on
- -L 'Load into memory
- -G 11E
- -G 15b
- -G 2686
- -G 1799 'Trace through the program
- -G 17A4
- -R CX 'Change the value of the BX and CX
- CX 0B3D 'registers to the number of bytes
- :0200 'we wish to write to disk.
- -R BX
- BX 0100
- :0000
- -N B:HIDDEN.DTA 'Name the file
- -W ES:100 'Write it to drive B:
- Writing 0200 bytes
- -R BX 'Change the BX and CX registers back
- BX 0000 'to their original values.
- :0100
- -R CX
- CX 0200
- :0B3D
- -G 17F0 'Continue tracing through the program.
- -R BX
- BX 660F 'If the value is different make a note
- :0000 'of it to replace later.
- -R CX
- CX 0000 'Same holds true for CX
- :0200 'Number of bytes to write
- -N B:HIDDEN.DT2
- -W DS:660F 'If BX was different use it here.
- Writing 0200 bytes
- -R BX
- BX 0000
- :660F 'and here!
- -R CX
- CX 0200 'Replace CX with its orignal value.
- :0000
-
- 'Now to make changes in the file MP80.COM
- 'with the E for enter into memory. An xx
- 'represents a memory value about which we
- 'are not concerned. Press the space bar
- 'after each entry to bring up the next and
- 'press enter after finished. If you make an
- 'error simply reenter the command (i.e. E 100)
- 'When reviewing your entries and the values
- 'are correct simply press the space bar as
- 'it is not necessary to re-enter a correct
- 'value. Consult your DOS manual under DEBUG
- 'for a further explanation.
- -N MP80.COM
- -L
- -E 100
- xxxx:0100 BA.E9 41.3E 03.02
- -E 1A2
- xxxx:01A2 01.00
- -E 341
- xxxx:0341 xx.EB xx.09 xx.90 xx.4D xx.50 xx.58 xx.2E
- xxxx:0348 xx.43 xx.4F xx.4D xx.00 xx.50 xx.53 xx.51 xx.52
- xxxx:0350 xx.B8 xx.00 xx.3D xx.BA xx.44 xx.03 xx.CD xx.21
- xxxx:0358 xx.8B xx.D8 xx.B4 xx.3F xx.BA xx.00 xx.C7 xx.B9
- xxxx:0360 xx.00 xx.02 xx.CD xx.21 xx.5A xx.59 xx.5B xx.58
- xxxx:0368 xx.BA xx.41 xx.03 xx.E9 xx.95 xx.FD xx.90
- -R CX
- CX 0241
- :026E
- -R BX
- BX xxxx
- :0000
- -N B:MP80.COM
- -W
- Writing 026E bytes
-
- 'With the following entries we
- will create the file MPX.COM
- -N B:MPX.COM
- -E 1000:0
- 1000:0000 xx.EB xx.0C xx.90 xx.48 xx.49 xx.44 xx.44 xx.45
- 1000:0000 xx.4E xx.2E xx.44 xx.54 xx.41 xx.00 xx.1E xx.B8
- 1000:0000 xx.00 xx.3D xx.BA xx.03 xx.C7 xx.CD xx.21 xx.BB
- 1000:0000 xx.00 xx.00 xx.8E xx.DB xx.8B xx.D8 xx.B4 xx.3F
- 1000:0000 xx.BA xx.00 xx.01 xx.B9 xx.00 xx.02 xx.CD xx.21
- 1000:0000 xx.B8 xx.00 xx.00 xx.BB xx.00 xx.01 xx.1F xx.E9
- 1000:0000 xx.7D xx.50 xx.00 xx.00 xx.EB xx.0C xx.90 xx.48
- 1000:0000 xx.49 xx.44 xx.44 xx.45 xx.4E xx.2E xx.44 xx.54
- 1000:0000 xx.32 xx.00 xx.53 xx.B8 xx.00 xx.3D xx.BA xx.37
- 1000:0000 xx.C7 xx.CD xx.21 xx.8B xx.D8 xx.B4 xx.3F xx.5A
- 1000:0000 xx.52 xx.90 xx.B9 xx.00 xx.02 xx.CD xx.21 xx.5B
- 1000:0000 xx.B8 xx.06 xx.F2 xx.50 xx.E9 xx.93 xx.50 xx.90
- -R CX
- CX xxxx
- :0062
- -W 1000:0
- 'And last of all a few changes
- to MP1
- -N MP1
- -L
- E 179F
- xxxx:179F E9.E9 06.64 00.AF
- E 17ED
- xxxx:17ED E9.E9 04.4A 00.AF
- -W
- -Q
-
- To execute MULTIPLAN type MP80 <Enter>. I trust this will work
- for you. Any suggestions or comments may be sent to Fred Buse
- BBS # (404) 546-0583.